<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>绑定样式</title>
    <script src="./js/vue.js"></script>
    <style>
        .normal {
            width: 300px;
            height: 150px;
            border: black solid 5px;
        }

        .happy {
            width: 300px;
            height: 150px;
            border: #FFD700 solid 5px; /* 明亮金色边框，象征阳光与喜悦 */
        }

        .sad {
            width: 300px;
            height: 150px;
            border: #6A5ACD solid 5px; /* 忧郁蓝紫色边框，传递沉静与低落 */
        }
    </style>
</head>
<body>
    <div id="root">
        <!-- 字符串写法，适用于：样式的类名不确定，需要动态指定 -->
        <div class="normal" :class="mood" @click="changeMood">{{name}}</div>

        <!-- 数组写法，适用于：要绑定的样式个数不确定，名字也不确定 -->
        <!-- 这样在网页上的开发者工具进行编辑的时候，页面的样式也会随之进行改变，比如可以移除一个数组元素，也可以添加一个等等 -->
        <div class="normal" :class="classArr">{{name}}</div>

        <!-- 对象写法，适用于：要绑定的样式个数确定，名字也确定，但要动态决定用不用 -->
        <div class="normal" :class="classObj">{{name}}</div>
    </div>
</body>
<script>
    Vue.config.productionTip = false
    const vm = new Vue({
        el: "#root",
        data: {
            name: "I'm coming,  Vue world",
            mood: "normal",
            classArr: ["happy", "normal", "sad"],
            classObj: {
                happy: true,
                normal: false,
                sad: false
            }
        },
        methods: {
            changeMood() {
                this.mood = "happy"
            }
        }
    })
</script>
</html>